package com.xindacloud.sms.portal.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author author
 */

@Data
@Builder
@TableName
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class SmsDeliveryReceipt implements Serializable {


    @TableId(type = IdType.UUID)
    private String receiptId;

    /**
     * 消息ID为UUID
     * isNullAble:0
     */
    private String messageId;

    /**
     * 发送者
     * isNullAble:1
     */
    private String sentFrom;
    /**
     * 接收者
     * isNullAble:1
     */
    private String sentTo;

    /**
     * 方向
     * isNullAble:1
     */
    private String direction;


    /**
     * 消息状态
     * delivered，expired，failed，rejected，accepted，buffered或者unknown
     * isNullAble:1
     */
    private String status;

    /**
     * 错误编码
     * isNullAble:1
     */
    private String errorCode;

    /**
     * 网络编码
     * isNullAble:1
     */
    private String networkCode;

    /**
     * 接受到运营商报告的时间
     * isNullAble:1
     */
    private String scts;

    /**
     * 代理商开始将此交付收据推送到您的Webhook端点的时间
     * 2020-01-01 12:00:00 +0000
     * isNullAble:1
     */
    private java.time.LocalDateTime messageTimestamp;

    private BigDecimal price;

    /**
     * 创建时间
     * isNullAble:1,defaultVal:CURRENT_TIMESTAMP
     */
    private java.time.LocalDateTime createTime;

    private java.time.LocalDateTime lastUpdateTime;

    private String reason;

    private Integer messageCount;


}
